﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace RanbuOM.SSF4.BCM
{
    [Flags]
    public enum KeyFlags : ushort
    {
        None = 0,
        InclusiveDirection = 0x1, // 1
        ExclusiveDirection = 0x2, // 2
        AnyButton = 0x10, // 5
        AllButtons = 0x20, // 6
        AnyTwoButtons = 0x40, // 7
        SuperJumpInput = 0x100, // 9. Rufus 6MK/3MK/3HP also have this but not require SJ motion?
        AnyDirection = 0x200, // 10. Only used by BLK 22/HKN 2PPP
        UseDirection = 0x400, // 11
        OnPress = 0x1000, // 13
        OnRelease = 0x2000, // 14
        ChangingFlow = 0x4000, // 15. ADN UC-K, GUY TC-2HK, MKT UC2-LK/MK
        PresetNeutralNormal = AnyButton | OnPress,
        PresetDirectionalNormal = InclusiveDirection | UseDirection | PresetNeutralNormal,
        PresetUniqueMove = ExclusiveDirection | UseDirection | PresetNeutralNormal,
        PresetSpecialMove = AnyButton | OnPress | OnRelease,
        PresetEXMove = PresetSpecialMove | AnyTwoButtons,
        PresetUC = AllButtons | OnPress | OnRelease,
        PresetBackThrowAndAppeal = AllButtons | OnPress | UseDirection | ExclusiveDirection,
        PresetThrowAndSaving = AllButtons | OnPress,
        PresetChargeRelease = AnyButton | OnRelease
    }
}
